﻿/*******************************************************************************
 * AAEngine
 * Copyright (c) 2010 Mike Jarosch
 *
 * This file is licensed under the terms of the MIT license, which is included
 * in the "MIT License.txt" file at the root directory of this SDK.
 ******************************************************************************/

using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace AAEngine.Rendering2D
{
    public enum RenderInstanceType
    {
        SpriteBatch,
        Text,
        LineList,
        TriangleList,
    }

    public class RenderInstance
    {
        public RenderInstanceType Type { get; set; }
        public Texture2D Texture { get; set; }
        public Vector2 Position { get; set; }
        public Rectangle SourceRectangle { get; set; }
//        public Point Size { get; set; }
        public Vector2 Center { get; set; }

        private Vector2 _scale = Vector2.One;
        public Vector2 Scale 
        {
            get { return _scale; }
            set { _scale = value; }
        }

        public float Rotation { get; set; }
        public float Alpha { get; set; }
        public SpriteFont Font { get; set; }
        public string Text { get; set; }

        private Color _color = Color.White;
        public Color Color
        {
            get { return _color; }
            set { _color = value; }
        }

        public SpriteEffects Effects { get; set; }
        public float LayerDepth { get; set; }
        public IList<Vertex2D> Vertices { get; set; }
    }
}
